package com.onlyxiahui.extend.query.page;

import java.util.List;

/**
 * 
 * Date 2018-12-29 14:21:48<br>
 * Description
 * 
 * @author XiaHui<br>
 * @since 1.0.0
 */
public interface QueryPage {
	/**
	 * 
	 * Description <br>
	 * Date 2020-02-01 14:26:21<br>
	 * 
	 * @param pageNumber
	 * @since 1.0.0
	 */
	public void setPageNumber(int pageNumber);

	/**
	 * 
	 * Description <br>
	 * Date 2020-02-01 14:26:26<br>
	 * 
	 * @return
	 * @since 1.0.0
	 */
	public int getPageNumber();

	/**
	 * 
	 * Description <br>
	 * Date 2020-02-01 14:26:29<br>
	 * 
	 * @param pageSize
	 * @since 1.0.0
	 */
	public void setPageSize(int pageSize);

	/**
	 * 
	 * Description <br>
	 * Date 2020-02-01 14:26:33<br>
	 * 
	 * @return
	 * @since 1.0.0
	 */
	public int getPageSize();

	/**
	 * 
	 * Description <br>
	 * Date 2020-02-01 14:26:38<br>
	 * 
	 * @param totalCount
	 * @since 1.0.0
	 */
	public void setTotalCount(int totalCount);

	/**
	 * 
	 * Description <br>
	 * Date 2020-02-01 14:26:58<br>
	 * 
	 * @return
	 * @since 1.0.0
	 */
	public int getTotalCount();

	/**
	 * 
	 * Description <br>
	 * Date 2020-02-01 14:26:55<br>
	 * 
	 * @return
	 * @since 1.0.0
	 */
	public int getTotalPage();

	/**
	 * 
	 * Description <br>
	 * Date 2020-02-01 14:26:52<br>
	 * 
	 * @return
	 * @since 1.0.0
	 */
	public int getStartResult();

	/**
	 * 
	 * Description <br>
	 * Date 2020-02-01 14:26:49<br>
	 * 
	 * @return
	 * @since 1.0.0
	 */
	public int getEndResult();

	/**
	 * 
	 * Description <br>
	 * Date 2020-02-01 14:26:46<br>
	 * 
	 * @param <T>
	 * @return
	 * @since 1.0.0
	 */
	public <T> List<T> getResultList();

	/**
	 * 
	 * Description <br>
	 * Date 2020-02-01 14:26:43<br>
	 * 
	 * @param <T>
	 * @param list
	 * @since 1.0.0
	 */
	public <T> void setResultList(List<T> list);
}
